package com.vhall.component.entity.pay.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 订单表
 *
 * @author xuyongzheng
 * @since 2020/10/16
 **/
@Data
@TableName("payment_order")
public class PaymentOrderEntity {

    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * APP编号
     */
    @TableField("app_id")
    private String appId;

    /**
     * 商户订单号
     */
    @TableField("biz_order_no")
    private String bizOrderNo;

    /**
     * 第三方订单号
     */
    @TableField("trade_no")
    private String tradeNo;


    /**
     * 订单标题
     */
    @TableField("title")
    private String title;


    /**
     * 订单详情
     */
    @TableField("detail")
    private String detail;


    /**
     * 订单金额
     */
    @TableField("total_fee")
    private BigDecimal totalFee;

    /**
     * 支付渠道
     */
    @TableField("channel")
    private String channel;

    /**
     * 支付方式
     */
    @TableField("service_code")
    private String serviceCode;

    /**
     * 订单状态
     */
    @TableField("status")
    private String status;


    /**
     * 回调地址
     */
    @TableField("notify_url")
    private String notifyUrl;


    /**
     * 订单展示地址
     */
    @TableField("show_url")
    private String showUrl;


    /**
     * 支付时间
     */
    @TableField("pay_time")
    private LocalDateTime payTime;


    /**
     * 备注
     */
    @TableField("remark")
    private String remark;


    /**
     * 微信支付时的openId
     */
    @TableField("open_id")
    private String openId;

    /**
     * ip地址
     */
    @TableField("client_ip")
    private String clientIp;

    /**
     * 回调附加数据
     */
    @TableField("optional")
    private String optional;


    /**
     * 创建时间
     */
    @TableField("created_at")
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @TableField("updated_at")
    private LocalDateTime updatedAt;

    /**
     * 删除是时间
     */
    @TableField("deleted_at")
    private LocalDateTime deletedAt;


}
